package com.guigu.pojo.manufacture;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author Mr.Zhang
 * @since 2024-12-06
 */
@Data
@TableName("M_PROCEDURING")
public class MProceduring implements Serializable {

    private static final long serialVersionUID=1L;

    //@apiModelProperty(value = "序号，唯一标识生产工序过程记录，自增长")
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    //@apiModelProperty(value = "父级序号，关联生产总表，不可为空，关联生产任务")
    @TableField("PARENT_ID")
    private Integer parentId;

    //@apiModelProperty(value = "工序序号，不可为空，定位工序，确定过程记录所属工序")
    @TableField("DETAILS_NUMBER")
    private Integer detailsNumber;

    //@apiModelProperty(value = "工序编号，不可为空，精准指向工序，方便查询与管理")
    @TableField("PROCEDURE_ID")
    private String procedureId;

    //@apiModelProperty(value = "工序名称，可空，增强可读性，便于人工识别工序")
    @TableField("PROCEDURE_NAME")
    private String procedureName;

    //@apiModelProperty(value = "本次工时数，可空，记录单次工序执行工时，分析工时波动")
    @TableField("LABOUR_HOUR_AMOUNT")
    private BigDecimal labourHourAmount;

    //@apiModelProperty(value = "单位工时成本，可空，结合工时数计算本次成本，成本控制要素")
    @TableField("COST_PRICE")
    private BigDecimal costPrice;

    //@apiModelProperty(value = "工时成本小计，可空，LABOUR_HOUR_AMOUNT * COST_PRICE，统计成本明细")
    @TableField("SUBTOTAL")
    private BigDecimal subtotal;

    //@apiModelProperty(value = "工序描述，可空，详细说明工序操作与要点，指导生产")
    @TableField("PROCEDURE_DESCRIBE")
    private String procedureDescribe;

    //@apiModelProperty(value = "工序生产登记次数，不可为空，记录工序执行频次，监控工序活跃度")
    @TableField("REG_COUNT")
    private BigDecimal regCount;

    //@apiModelProperty(value = "工序负责人姓名，可空，明确责任人，确保工序执行与管理责任落实")
    @TableField("PROCEDURE_RESPONSIBLE_PERSON")
    private String procedureResponsiblePerson;

    //@apiModelProperty(value = "登记人姓名，可空，记录操作登记人员，追溯操作源头")
    @TableField("REGISTER")
    private String register;

    //@apiModelProperty(value = "登记时间，可空，记录登记时间点，构建操作时间序列")
    @TableField("REGISTER_TIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date registerTime;

    //@apiModelProperty(value = "复核人姓名，可空，记录复核人员，保障数据准确性与流程规范性")
    @TableField("CHECKER")
    private String checker;

    //@apiModelProperty(value = "复核时间，可空，记录复核时间，与登记时间配合审查流程时效")
    @TableField("CHECK_TIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date checkTime;


}
